package com.ucode.model.cgms;

import com.ucode.tool.base.BaseTenantMode;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;

/**
 * 陪玩用户
 * 注意：该实体类ID跟用户ID是一致的
 * @Author: liliang
 * @Date: 2025/4/27 12:48
 * @Version: 1.0
 */
@Schema(description = "陪玩俱乐部社区系统 - 陪玩用户")
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
public class CgmsCompanionUser extends BaseTenantMode<Long, Long> {

    /**
     * 1-管理员 2-普通陪玩 3-虚拟陪玩
     */
    private Integer type;
    /**
     * 担保人ID
     */
    private Long guarantorId;
    /**
     * 昵称
     */
    private String nickName;
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * 头像
     */
    @Schema(description = "头像")
    private String avatar;
    /**
     * 用户性别
     *
     * 枚举类 {@link com.ucode.tool.base.enums.SexEnum}
     */
    @Schema(description = "用户性别，参考枚举SexEnum")
    private Integer gender;
    /**
     * 出生日期
     */
    @Schema(description = "出生日期")
    private LocalDate birthday;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 微信号
     */
    private String wechatId;
    /**
     * 支付宝账号
     */
    private String alipayAccount;
    /**
     * 身份证号码
     */
    private String idCardNumber;
    /**
     * 身份证正面
     */
    private String idCardFrontUrl;
    /**
     * 身份证反面
     */
    private String idCardBackUrl;
    /**
     * 押金金额（单位：元）
     */
    private BigDecimal depositAmount;
    /**
     * 押金状态
     */
    private Integer depositState;
    /**
     * 技能图片列表
     */
    private List<String> skillPicList;
    /**
     * 装饰图片列表
     */
    private List<String> decorativePicList;
    /**
     * 标签列表
     */
    private Set<String> tags;
    /**
     * 个人介绍
     */
    private String remark;
    /**
     * 工作状态
     * 参考 {@link com.ucode.model.cgms.enums.CgmsCompanionUserWorkStateEnum}
     */
    private Integer workStatus;

    /**
     * 单价 金额
     */
    private BigDecimal membershipFeePerUnit;

    /**
     * 积分余额
     */
    private BigDecimal pointBalance;

    /**
     * 累计返点
     */
    private BigDecimal totalReturnPointAmount;

    /**
     * 审核状态
     * 参考 {@link com.ucode.tool.base.enums.CommonAuditStatusEnum}
     */
    private Integer auditStatuz;

    /**
     * 处理人
     */
    private Long processorId;

    /**
     * 处理人类型
     */
    private Integer processorType;

    /**
     * 处理时间
     */
    private LocalDateTime processTime;

    /**
     * 处理备注
     */
    private String processRemark;

    /**
     * 陪玩状态
     * 参考 {@link com.ucode.model.cgms.enums.CgmsCompanionUserStatuzEnum}
     */
    private Integer statuz;
    /**
     * 服务订单数
     */
    private Integer orderCount;
    /**
     * 服务评分
     */
    private Double benefitScores;

}
